package com.hwp.mybatisplus.Generator;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * MybatisPlus 代码生成器
 *
 * @author huang
 * @since 2022-03-18
 */
//执行 main 方法，控制台输入模块表名，回车自动生成对应项目目录中
@SpringBootApplication
public class MybatisPlusCodeGenerator {
    public static void main(String[] args) {
        //可以先用这个打印一下当前目录
        // public static void main(String[] args) {
        //        System.out.println(System.getProperty("user.dir"));
        //    }
        String projectPath = System.getProperty("user.dir") + "/src/main/java";
        String url = "jdbc:mysql://XXXXXXXXXXX:3306/ry-vue?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
        String username = "root";
        String password = "XXXXXXXXX";
        FastAutoGenerator
                .create(url, username, password)
                .globalConfig(builder -> {
                    builder.author("hwp") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir(projectPath); // 指定输出目录
                })
                .strategyConfig(builder -> {
                    builder.addInclude("user_article_operation"); // 设置需要生成的表名
//                    builder.addTablePrefix("sys_");
                })
                .packageConfig(builder -> {
                    builder.parent("com.hwp.mybatisplus"); // 设置父包名
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                .execute();
    }
}
